//
//  Constraints.h
//  PezMonkey
//
//  Created by Spence DiNicolantonio on 12/29/09.
//  Copyright 2009 Necrosoft. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import "PMDemo.h"


@interface Constraints : PMDemo {
	// shared static body
	PMBody *staticBody;
}

@property (nonatomic, retain) PMBody *staticBody;

- (void)addGrid;
- (void)addStaticSegmentWithStart:(PMVect)start end:(PMVect)end;
- (void)addBoxLabel:(NSString *)label box:(NSUInteger)box;

- (PMBody *)addBallAtPoint:(PMVect)point box:(NSUInteger)box;
- (PMBody *)addBlockAtPoint:(PMVect)point box:(NSUInteger)box;
- (PMBody *)addLeverAtPoint:(PMVect)point box:(NSUInteger)box;
- (PMBody *)addBarAtPoint:(PMVect)point box:(NSUInteger)box;
- (PMBody *)addWheelAtPoint:(PMVect)point box:(NSUInteger)box;
- (PMBody *)addChassisAtPoint:(PMVect)point box:(NSUInteger)box;
- (void)addChainAtPoint:(PMVect)point box:(NSUInteger)box 
			   anchorA:(PMAnchor)anchorA bodyA:(PMBody *)bodyA 
			   anchorB:(PMAnchor)anchorB bodyB:(PMBody *)bodyB
				 links:(NSUInteger)links
			linkLength:(PMRange)length;

@end
